home *** CD-ROM | disk | FTP | other *** search
/ Shareware Grab Bag / Shareware Grab Bag.iso / 007 / asmexam.arc / ASCADJ.LST < prev    next >
File List  |  1984-08-09  |  2KB  |  63 lines

  1.  The Microsoft MACRO Assembler             08-09-84        PAGE    1-1
  2.  
  3.  
  4.  
  5.                          PAGE 55,132
  6.  0000                   CODE    SEGMENT  PARA
  7.                          ASSUME CS:CODE,DS:CODE
  8.  0100                        ORG 100H
  9.                     
  10.                     ; ------ ADD TWO PACKED BCD NUMBERS -------------
  11.                     
  12.  0100  B0 15                   MOV AL,15H
  13.  0102  04 09                   ADD AL,09H  ;  15 + 9 = 24     BCD
  14.  0104  27                   DAA         ; DECIMAL ADJUST ADDITION
  15.                     
  16.                     
  17.                     ; -------- ADD TWO 4 DIGIT PACKED BCD  NUMBERS --------
  18.                     ;       1098 + 1005 = 2103
  19.                     
  20.  0105  B0 98                   MOV AL,98H
  21.  0107  04 05                   ADD AL,05H     ;AL = AD
  22.  0109  27                   DAA            ;AL=03
  23.  010A  8A D8                   MOV BL,AL
  24.  010C  B0 10                   MOV AL,10H
  25.  010E  14 10                   ADC AL,10H     ;AL = 21H
  26.  0110  27                   DAA
  27.  0111  8A F8                   MOV BH,AL      ;BX = 2103 BCD
  28.                     
  29.                     ;------- SUBTRACT TWO BCD NUMBERS
  30.                     
  31.  0113  B0 53                   MOV AL,53H
  32.  0115  2C 49                   SUB AL,49H  ; AL= 0A
  33.  0117  2F                   DAS         ; DECIMAL ADJUST SUBTRACTION AL= 04
  34.                     
  35.                     
  36.                     
  37.                     
  38.                     ; SHOW USE OF AAA ON UNPACKED BCD NUMBER    (ZN)
  39.                     
  40.  0118  B0 31                   MOV AL,31H
  41.  011A  04 39                   ADD AL,39H
  42.  011C  37                   AAA         ; ASCII ADJUST ADDITION
  43.                     
  44.  011D  B0 31                   MOV AL,31H
  45.  011F  2C 39                   SUB AL,39H
  46.  0121  3F                   AAS         ; ASCII ADJUST FOR SUBTRACTION
  47.  0122                   CODE    ENDS
  48.                          END
  49.  
  50.  The Microsoft MACRO Assembler             08-09-84        PAGE    Symbols-1
  51.  
  52.  
  53.  
  54. Segments and groups:
  55.  
  56.          N a m e              Size    align    combine    class
  57.  
  58. CODE . . . . . . . . . . . . . .    0122    PARA      NONE    
  59.  
  60. Warning Severe
  61. Errors    Errors 
  62. 0    0
  63.